跳到主要内容

JavaScript 函数

阐述

语法

函数定义可以使用三种不同的方法:

  • 定义语句:包括函数名、参数列表、语句块
  • 函数表达式:可以省略函数名,然后把它赋值给一个变量
  • Function 构造函数:从字符串动态创建函数

语义

JavaScript 使用传值调用,如果在函数内部重新赋值,不会影响调用者;但是可以修改这个值。

函数的定义和调用的顺序是无关的,因为函数的定义会被自动提升。

实例

函数提升

只有使用定义语句时才能提升:

console.log(square(5)); // 25

function square(n) {
return n * n;
}

性质

相关内容

参考文献

函数调用

我们可以传入比定义多或少的参数,多的没有问题,但少则收到 undefined,为此可以检查;

传入的所有参数可以用 arguments 获得:


function foo(x) {

for (var i=0; i<arguments.length; i++) {

console.log('arg ' + i + ' = ' + arguments[i]); // 10, 20, 30

}

}

它经常用来判断参数个数。

rest 参数

我们可以用三个点标识其他参数:


function foo(a, b, ...rest) {

console.log('a = ' + a);

console.log('b = ' + b);

console.log(rest);

}

此时 rest 是一个列表。相反,如果没有填满则会返回一个空列表。